cellrenderer: Add accessors for {get,set}_is_expande{r,d}
authorTimm Bäder <mail@baedert.org>
Sun, 11 Aug 2019 06:53:10 +0000 (08:53 +0200)
committerTimm Bäder <mail@baedert.org>
Sun, 11 Aug 2019 07:34:50 +0000 (09:34 +0200)
gtk/gtkcellarea.c
gtk/gtkcellrenderer.c
gtk/gtkcellrenderer.h
gtk/gtkcellrendererpixbuf.c

index 8592db6234324c4f5e8381627d084a087d7ea163..b8945d6544f4af879a3b62b04c878512951e730d 100644 (file)
@@ -1212,13 +1212,13 @@ apply_cell_attributes (GtkCellRenderer *renderer,
    * provided by the view (as these states can vary across views
    * accessing the same model).
    */
-  g_object_get (renderer, "is-expander", &is_expander, NULL);
+  is_expander = gtk_cell_renderer_get_is_expander (renderer);
   if (is_expander != data->is_expander)
-    g_object_set (renderer, "is-expander", data->is_expander, NULL);
+    gtk_cell_renderer_set_is_expander (renderer, data->is_expander);
 
-  g_object_get (renderer, "is-expanded", &is_expanded, NULL);
+  is_expanded = gtk_cell_renderer_get_is_expanded (renderer);
   if (is_expanded != data->is_expanded)
-    g_object_set (renderer, "is-expanded", data->is_expanded, NULL);
+    gtk_cell_renderer_set_is_expanded (renderer, data->is_expanded);
 
   /* Apply the attributes directly to the renderer */
   for (list = info->attributes; list; list = list->next)
index f4010925c6f11fc116a9c173d85df03e174e60dc..13cb6f01ff1e8d2a7df5901e98c7a6bf9bbb34c4 100644 (file)
@@ -1722,6 +1722,62 @@ gtk_cell_renderer_get_state (GtkCellRenderer      *cell,
   return state;
 }
 
+void
+gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
+                                   gboolean         is_expander)
+{
+  GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
+
+  g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
+
+  is_expander = !!is_expander;
+
+  if (is_expander != priv->is_expander)
+    {
+      priv->is_expander = is_expander;
+
+      g_object_notify (G_OBJECT (cell), "is-expander");
+    }
+}
+
+gboolean
+gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
+{
+  GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
+
+  g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE);
+
+  return priv->is_expander;
+}
+
+void
+gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
+                                   gboolean         is_expanded)
+{
+  GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
+
+  g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
+
+  is_expanded = !!is_expanded;
+
+  if (is_expanded != priv->is_expanded)
+    {
+      priv->is_expanded = is_expanded;
+
+      g_object_notify (G_OBJECT (cell), "is-expanded");
+    }
+}
+
+gboolean
+gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell)
+{
+  GtkCellRendererPrivate *priv = gtk_cell_renderer_get_instance_private (cell);
+
+  g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE);
+
+  return priv->is_expanded;
+}
+
 /**
  * gtk_cell_renderer_class_set_accessible_type:
  * @renderer_class: class to set the accessible type for
index 815aef265fce3abf397dc5c0a223da658973b948..cfc68ff79d57c0916aad323a3298350788c929fa 100644 (file)
@@ -283,6 +283,21 @@ gboolean         gtk_cell_renderer_get_sensitive  (GtkCellRenderer      *cell);
 GDK_AVAILABLE_IN_ALL
 gboolean         gtk_cell_renderer_is_activatable (GtkCellRenderer      *cell);
 
+GDK_AVAILABLE_IN_ALL
+void             gtk_cell_renderer_set_is_expander (GtkCellRenderer     *cell,
+                                                    gboolean             is_expander);
+GDK_AVAILABLE_IN_ALL
+gboolean         gtk_cell_renderer_get_is_expander (GtkCellRenderer     *cell);
+
+GDK_AVAILABLE_IN_ALL
+void             gtk_cell_renderer_set_is_expanded (GtkCellRenderer     *cell,
+                                                    gboolean             is_expander);
+GDK_AVAILABLE_IN_ALL
+gboolean         gtk_cell_renderer_get_is_expanded (GtkCellRenderer     *cell);
+
+
+
+
 /* For use by cell renderer implementations only */
 GDK_AVAILABLE_IN_ALL
 void             gtk_cell_renderer_stop_editing   (GtkCellRenderer      *cell,
index 8641fbc2db15c514f5a14bab67a0425c58625070..e89a5f8ba3d6a4a749eed56d7ee8d6e257b9dd7a 100644 (file)
@@ -533,12 +533,10 @@ gtk_cell_renderer_pixbuf_snapshot (GtkCellRenderer      *cell,
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE);
   gtk_icon_size_set_style_classes (gtk_style_context_get_node (context), priv->icon_size);
 
-  g_object_get (cell, "is-expander", &is_expander, NULL);
+  is_expander = gtk_cell_renderer_get_is_expander (cell);
   if (is_expander)
     {
-      gboolean is_expanded;
-
-      g_object_get (cell, "is-expanded", &is_expanded, NULL);
+      gboolean is_expanded = gtk_cell_renderer_get_is_expanded (cell);;
 
       if (is_expanded && priv->pixbuf_expander_open != NULL)
         {